Statistical weighting and adjustment of state variables in a radio

ABSTRACT

A method involving receiving a real time communication signal at a radio receiver involves measuring at least one performance value associated with the radio receiver with an installed set of state variables; at a processor forming a part of the radio receiver: iteratively changing at least one of the state variables within a prescribed range in order to identify an improved value of the state variable that provides an improvement to the at least one performance value; storing the improved value of the state variable; applying a statistical weighting to the improved value and storing the statistical weighting; and adjusting the prescribed range of the state variable based upon the statistical weighting to provide a revised prescribed range that is statistically likely to contain state variable that provides improvement in the at least one performance value. This abstract is not to be considered limiting.

PRIORITY CLAIM

This application claims priority to EP Application No. 13159410.3 filedon Mar. 15, 2013 entitled “STATISTICAL WEIGHTING AND ADJUSTMENT OF STATEVARIABLES IN A RADIO”, hereby incorporated herein in its entirety.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to co-pending U.S. application Ser. No.13/832,649 filed on Mar. 15, 2013 entitled “STATISTICAL WEIGHTING ANDADJUSTMENT OF STATE VARIABLES IN A RADIO”, hereby incorporated herein inits entirety.

BACKGROUND

In radio frequency (RF) communication using portable devices, the RFenvironment can vary due to many factors including, for example,weather, temperature, location, surroundings, and aging components, toname a few. Also, a number of the parameters within the radiostatistically vary from device to device. For example, in terms of theRF environment, some environments have more interference than otherenvironments. In addition, some of the device parameters within a radiovary statistically from device to device with temperature, currentconsumption, voltage supply, or/and frequency channel to frequencychannel.

However, most radios are designed to meet specifications in the worstpossible conditions, but this may occur only a small percentage of thetime. The remaining time, the radio may not be operating in an optimalmanner.

BRIEF DESCRIPTION OF THE DRAWINGS

Example embodiments of the present disclosure will be described belowwith reference to the included drawings such that like referencenumerals refer to like elements and in which:

FIG. 1 is an illustration of a portion of an example wirelesscommunication network.

FIG. 2 is an example block diagram of a radio transceiver consistentwith certain implementations.

FIG. 3, which is made up of FIG. 3 a, FIG. 3 b and FIG. 3 c, depicts anexample process of adjusting a radio parameter by trying out apredefined subset of state values.

FIG. 4, which is made up of FIG. 4 a and FIG. 4 b, depicts an example ofa two dimensional set of state variables which are tested in a mannerconsistent with the present teachings.

FIG. 5 illustrates a three dimensional set of state variables todemonstrate how the present process can be extended in multipledimensions.

FIG. 6 is an example of a flow chart depicting operation of a processconsistent with certain implementations of the present teachings.

FIG. 7 is an example of a flow chart depicting operation of anotherprocess consistent with certain implementations of the presentteachings.

DETAILED DESCRIPTION

For simplicity and clarity of illustration, reference numerals may berepeated among the figures to indicate corresponding or analogouselements. Numerous details are set forth to provide an understanding ofthe embodiments described herein. The embodiments may be practicedwithout these details. In other instances, well-known methods,procedures, and components have not been described in detail to avoidobscuring the embodiments described. The invention is not to beconsidered as limited to the scope of the embodiments described herein.

The terms “a” or “an”, as used herein, are defined as one or more thanone. The term “plurality”, as used herein, is defined as two or morethan two. The term “another”, as used herein, is defined as at least asecond or more. The terms “including” and/or “having”, as used herein,are defined as comprising (i.e., open language). The term “coupled”, asused herein, is defined as connected, although not necessarily directly,and not necessarily mechanically. The term “program” or “computerprogram” or “application” or similar terms, as used herein, is definedas a sequence of instructions designed for execution on a computersystem. A “program”, or “computer program”, may include a subroutine, afunction, a procedure, an object method, an object implementation, in anexecutable application, an applet, a servlet, a source code, an objectcode, a shared library/dynamic load library and/or other sequence ofinstructions designed for execution on a computer system. The term“processor”, “controller”, “CPU”, “Computer” and the like as used hereinencompasses both hard programmed, special purpose, general purpose andprogrammable devices and may encompass a plurality of such devices or asingle device in either a distributed or centralized configurationwithout limitation.

Reference throughout this document to “one embodiment”, “certainembodiments”, “an embodiment”, “an example”, “an implementation”, “anexample” or similar terms means that a particular feature, structure, orcharacteristic described in connection with the embodiment, example orimplementation is included in at least one embodiment, example orimplementation of the present invention. Thus, the appearances of suchphrases or in various places throughout this specification are notnecessarily all referring to the same embodiment, example orimplementation. Furthermore, the particular features, structures, orcharacteristics may be combined in any suitable manner in one or moreembodiments, examples or implementations without limitation.

The term “or” as used herein is to be interpreted as an inclusive ormeaning any one or any combination. Therefore, “A, B or C” means “any ofthe following: A; B; C; A and B; A and C; B and C; A, B and C”. Anexception to this definition will occur only when a combination ofelements, functions, steps or acts are in some way inherently mutuallyexclusive.

Although the RF environment in which radios such as cellular telephonesare used is statistically varying, the radio is designed for the worstpossible conditions which only occurs less than 10% of the time. Also anumber of the parameters within the radio statistically vary from deviceto device. For example, in terms of the RF environment, someenvironments have more interference than other environments. Inaddition, some of the device parameters within a radio varystatistically from device to device with temperature, currentconsumption, voltage supply, or/and frequency channel to frequencychannel. This discussion relates to statistically weighting the states(or settings) within the radio or physical layer to enhance either: talktime and standby time or quality of service to the user. By way ofexample, IQ imbalance correction and second order distortion (IIP2)enhancement can be adjusted while the radio is in use in its currentoperational environment in order to optimize or improve performance ofsome aspect of the radio's operation.

For purposes of this document, any variable that affects the performanceof the radio is considered to be a state variable. State variablesshould generally be bounded. Some state variables may only take on onevalid value. Some illustrative examples of possible state variablesinclude, but are not limited to: the location of the IF frequency, IQgain and phase, Linearity (i.e. IIP2, IIP3, and compression), “Q” andcentre frequency of RF filter, RF matching, current into circuitelements (e.g. voltage controlled oscillator(s)), Bandwidth/order ofanalog filters, mixer bias, amplifier gain, DC offset, supply voltage tocircuit elements (e.g. the low noise amplifier(s)), etc.

The weighting of a state is based on the level of a suitable measure ofradio performance that a particular state produces. The level ofperformance may include a measure of the quality of the signal. Forexample, performance could be measured as: Signal to Noise (SNR), BitError Rate (BER), a measure of interference, etc. Additionally, thelevel of performance could be related to a level of power consumptionwhich affects battery life or some combination of performanceparameters. In accord with the present discussion, the radio uses normalreal time incoming communication signals or parts thereof to supply aninput. A resulting performance parameter of the radio receiver ismeasured and a state variable optimized in some manner, in contrast touse of artificially generated signals in a factory setting.

Some states within a radio are set during power up or in manufacturingby introducing a test signal and measuring some aspect of the radio'sperformance when using that state. However, in such case the state has aprobability of 100%. That is, that state is used 100% of the time forthat device or that power up cycle.

In some circumstances, the state information relating to a particularlocation can be sent back to a central controller to help other devicesin a local network or geographic area. If the statistically weightedstates (SWS) of a device are locally known at a particular position,their SWS data could be used to help other devices within that knownarea. However, those states should usually only be a function of theenvironment (for example interference). For example, if a first radiosends its SWS data to a central location or other network repository,this central location can push applicable SWS data to devices that aregeographically close using any suitable push technology. It is notedthat not all SWS data can be applied to other radios (e.g., statevariables that relate to correction for component aging, but not relatedto the radio environment, per se.).

There may also be cases where a new state variable is determined. Ifthis happens, this state variable along with the measure of performancecan be added as part of the radio or baseband via a software or firmware“patch” or “application”.

Therefore, in accordance with certain aspects of the disclosure there isprovide a method involving receiving a real time communication signal ata radio receiver; measuring at least one performance value associatedwith the radio receiver with an installed set of state variables; at aprocessor forming a part of the radio receiver: iteratively changing atleast one of the state variables within a prescribed range in order toidentify an improved value of the at least one state variable thatprovides an improvement to the at least one performance value; storingthe improved value of the at least one state variable; applying astatistical weighting to the improved value and storing the statisticalweighting; and adjusting the prescribed range of the at least one statevariable based upon the statistical weighting to provide a revisedprescribed range that is statistically likely to contain at least onestate variable that provides improvement in the at least one performancevalue.

In certain implementations, the method further involves sending theimproved value to a base station. In certain implementations, the basestation pushes the improved value of the at least one state variable toa different radio receiver. In certain implementations, the methodfurther involves storing environment data that characterizes the radioenvironment along with the improved value of the at least one statevariable; sending the improved value and the environment data thatcharacterizes the environment of the radio to a base station; and at thebase station pushing the improved value of the at least one statevariable to a different radio receiver that is within the environment ofthe radio. In certain implementations, the environment data compriseslocation data and the environment comprises a geographic area. Incertain implementations, applying the statistical weighting comprisesincrementing a value associated with the improved value of the at leastone state variable. In certain implementations, the method furtherinvolves prior to the receiving, powering up the radio; and on poweringup the radio, the processor initially installs the installed set ofstate variables having the highest statistical probability of providingthe best performance according to the stored statistical weighting.

In another embodiment, a method involves powering up a radio having aprocessor; on powering up the radio, the processor retrieving andinstalling an initial set of state variables having a higheststatistical probability of providing best performance according tostored statistical weighting of the state variables; receiving a realtime communication signal at a radio receiver; measuring at least oneperformance value associated with the radio receiver with an installedset of state variables; at the processor: iteratively changing at leastone of the state variables within a prescribed range in order toidentify an improved value of the at least one state variable thatprovides an improvement to the at least one performance value; storingthe improved value of the at least one state variable; applying astatistical weighting to the improved value and storing the statisticalweighting; adjusting the prescribed range of the at least one statevariable based upon the statistical weighting to provide a revisedprescribed range that is statistically likely to contain at least onestate variable that provides improvement in the at least one performancevalue; and storing environment data that characterizes the radioenvironment along with the improved value of the at least one statevariable; the radio sending the improved value and the environment datato a base station; and at the base station pushing the improved value ofthe at least one state variable to a different radio receiver that iswithin the environment of the radio.

In certain implementations, the environment data comprises location dataand the environment comprises a geographic area. In certainimplementations, applying the statistical weighting comprisesincrementing a value associated with the improved value of the at leastone state variable.

A radio apparatus consistent with the present discussion has a radioreceiver configured to receive a real time communication signal. Aprocessor forming a part of the radio receiver is programmed to: measureat least one performance value associated with the radio receiver withan installed set of state variables; iteratively change at least one ofthe state variables within a prescribed range in order to identify animproved value of the at least one state variable that provides animprovement to the at least one performance value; store the improvedvalue of the at least one state variable; apply a statistical weightingto the improved value; store the statistical weighting; and adjust theprescribed range of the at least one state variable based upon thestatistical weighting to provide a revised prescribed range that isstatistically likely to contain at least one state variable thatprovides improvement in the at least one performance value.

In certain implementations, the processor is further programmed to sendthe improved value to a base station. In certain implementations, theprocessor is further programmed to receive state variables pushed fromthe base station. In certain implementations, a base station isconfigured to push the improved value of the at least one state variableto a different radio receiver. In certain implementations, the processoris further programmed to: store environment data that characterizes theradio environment along with the improved value of the at least onestate variable; send the improved value and the environment data thatcharacterizes the environment of the radio to a base station so that thebase station can push the improved value of the at least one statevariable to a different radio receiver that is within the environment ofthe radio. In certain implementations, the base station is configured topush the improved value of the at least one state variable to adifferent radio receiver. In certain implementations, the base stationis configured to push a value of the at least one state variable to adifferent radio receiver and where the base station is configured todetermine that the value of the at least one state variable isstatistically likely to provide improved performance in at least oneperformance value within the environment. In certain implementations,the environment data comprises location data and the environmentcomprises a geographic area. In certain implementations, in beingprogrammed to apply the statistical weighting the processor isprogrammed to increment a value associated with the improved value ofthe at least one state variable. In certain implementations, theprocessor is further programmed to initially install a set of statevariables having highest statistical probability of providing the bestperformance according to the stored statistical weighting upon poweringup of the radio receiver.

FIG. 1 is an illustration of an example portion of a communicationnetwork in accordance with aspects of the present disclosure. In thisexample a first radio device 104 can communicate with other devicesthrough a base station transceiver that may be coupled via wired orwireless connection to other base stations, as for example in thecellular telephone and data infrastructure. Data or voice signals fromradio 104 are transmitted to the antenna tower 112 which is then passedto the base station 108. The base station transceiver 108 operates undercontrol of a central site controller 116.

As illustrated in FIG. 1, in the particular geographic location (e.g.,as determined by global positioning system (GPS) circuitry within theradio device 104), the particular geographic location of this device 104is known. In this example, an interference source 120 is depicted whichmay, for example, be a local radio or television transmitter or otherdevice that generates interfering energy in the communication band ofthe radio 104. In this example, the radio 104 carries out a process ofoptimization of certain radio parameters in the presence of theinterfering energy by optimizing certain state variables. In one simpleexample, assume that the radio 104 has a filter that can be optimized toreduce the effect of the interfering signal. Hence, the state variablesassociated with that filter can be transmitted to the base station 108.The base station 108 passes these state variables along to the centralsite controller 116, upon receipt of the state variables from radio 104.Central site controller 116 then stores the state variables along withlocation information for radio 104 in a SWS database 126.

When another radio such as 130 enters a location close to that of 104(as determined by GPS information), the base station 108 recognizes thatthe radio 130 could benefit from utilizing the state variablesassociated with that location. Hence, the base station retrieves thestate variables associated with that location and pushes the statevariables to radio 130. Radio 130 can then install those state variablesfor use while situated in this geographic location. This may save theradio 130 from need to optimize in the face of interference source 120,or may provide a set of state variables that allow the radio 130 to morequickly converge to more optimal values. In this example, if the statevariables are converted to analog signals to adjust a filter, radio 130may require slightly different values than radio 120, but the statevariables pushed from base station 108 may provide a closer set of statevariables for use as a starting point. Those state variables can the beoptimized and reported back to the base station 108 and used to producea weighted value that may provide a more generally applicable set ofstate variables. Over time, the SWS database can be refined to a bestset of weighting values for the particular location.

FIG. 2 is a block diagram of an example functional representation of theelectronic device 104, for example. This block diagram is simplified forclarity. In this example, radio 104 has a transmitter 150 and a receiver154 that are operatively coupled to an antenna 158 for transmission andreception. Transmitter 150 and receiver 154 are controlled by one ormore processors 170 that control operation of the radio and selection ofthe various state variables used to define operation of the variouscircuit elements making up transmitter 150 and receiver 154. Processor170 utilizes memory 174 of any suitable type that stores state variabledata 178 including statistical weighting data as well as various sets ofinstructions for control of the transceiver. One example set ofinstructions 184 implements functions that adjust the state variablesused by the radio in the manner discussed herein.

A technique for adjustment of certain states is depicted by way of anexample in FIG. 3 starting at FIG. 3 a. In this illustration, it isassumed that a particular state variable (e.g., a filter bandwidth,amplifier gain, etc.) controls a parameter of the radio that can beassociated with a performance parameter (e.g., radio sensitivity, SNR,bit error rate, etc.). In some examples, a particular state variable mayonly take on two states (e.g., on or off for some feature), but thepresent state variable as depicted can take on eight states STATE-1through STATE-8 as shown as 200. Now assume that the factory setting forthis state is STATE-4. In this example, which can be implemented usingmany variations, three states are tested during a process consistentwith the present teachings. These three states define a windowdesignated by the test states 204 which identify a current state(STATE-4) and a state on either side of STATE 4 (STATE-3 and STATE-5).It is presumed for this example that the states are in a logical orderof increasing or decreasing value.

During this adjustment process STATE-4 is already selected, so theperformance parameter(s) associated with this state variable ismeasured. The result is shown abstractly for illustrative purposes as abar graph 210 associated with the current performance of the radio usingSTATE-4, and it will be presumed that a longer bar graph is indicativeof better performance. Once this measurement is complete, the processproceeds by selection of an adjacent state such as bar 214 andmeasurement of performance of the radio using this STATE-3 is carriedout. This results in a slightly lower level of performance indicated bythe shorter bar 214. Finally, in this example, adjacent STATE-5 isselected and the resulting measurement is represented by bar 216.

In accord with this testing, STATE-5 is selected for use since it hasthe best performance of those tested in the current environment. Inaddition, statistics are logged to memory in any suitable manner toindicate that on this particular sequence of tests, STATE-5 has the bestperformance. This can be done by simply incrementing a counterassociated with STATE-5 or by updating statistics associated with eachstate tested. For example, if simple counters are used, they can beincremented by 0 for STATE-3, 1 for STATE-4 and 2 for STATE-5. Any othersuitable way to track the weighted statistics for the state variablescan be used without departing from examples consistent with the presentteachings.

At regular or random intervals or when triggered by a suitable event(e.g., detecting that the radio is in a location where it has neverbeen), this process can be repeated as depicted in FIG. 3 b. In thiscase, after a time interval STATE-5 is still in use but due to varyingcircumstances (temperature, location, etc.) this state may no longerprovide optimum performance. In this iteration of the process, the teststates will be incremented so that they surround the most recently knownbest state, i.e., STATE-5. Otherwise, the process is repeated so thatSTATE-5 produces a measured result represented by bar 220. The statesare then changed to test surrounding states (in this example, one oneach side of the current state, but more states or all states could alsobe tested). So, STATE-4 is tested with results shown by bar 224 andSTATE-5 is tested with results shown by bar 228. Once these tests arecomplete, it is evident that the best state tested is STATE-6 asindicated by the longest bar length 228 so that is set for the radio toutilize until the next test and the statistics are updated and stored inmemory.

In this set of tests, the subset of tested states migrates toward thedirection that the last set of tests indicate to be producingimprovement. Thus, while the first set of tests discussed above testedSTATE-3, STATE-4 and STATE-5, this set of tests incremented toward thedirection that the prior test indicated might produce improvement. So,this set of tests tested STATE-4, STATE-5 and STATE-6. Since moving tohigher numbered states appears to continue to bring improvedperformance, the next test will test sequentially higher states in thisexample.

Referring now to FIG. 3 c, at regular or random intervals, this processis again repeated using STATE-5, STATE-6 and STATE-7. The same processdescribed above is then repeated to test the test states and asindicated by the performance bars 230, 234 and 238, STATE-6 remains thestate resulting in best performance. Hence, the state statistics areupdated and the STATE-6 remains the state used for operation of theradio at least until next test (which will again test STATE-5, STATE-6and STATE-7 since these states surround the currently best state).

Whenever the radio is reset or rebooted, etc. the radio can eithersequentially test each state, return to the most recently used state oruse the state that exhibits the best statistics in terms of the measuredperformance (that is, the state that is most likely to produce goodresults). Additionally, the radio may adjust to a state that exhibitsthe statistically best performance during long periods of inactivity andthe testing may be carried out based upon any logical trigger (e.g.,discovery by the radio that it is located in new location). Thus, ratherthan being set at a state that is artificially obtained in ideal factoryconditions, the radio is able to discover what works best most of thetime and adjust itself accordingly to provide enhanced performance.

In the example provided above, three states of eight were tested, butfive states could have equally well have been tested, for example and aparticular state variable may have many more or as few as two states. Inother embodiments, all states can be tested each time and the overallstatistics or most recent test used to dictate the default state. Manyvariations will occur to those skilled in the art upon consideration ofthe present teachings.

It is noted that the above example presumed a one dimensional statevariable with eight possible states. However, a state variable can besingle dimensional, two dimensional or multi-dimensional in nature. But,the process can work in a similar manner.

Referring now to FIG. 4 starting with FIG. 4 a, a set of two dimensionalstates 300 is depicted in a manner similar to that of the first example.Note, however, that the figure depicts a set of states that may be asubset of a much larger set of states. Hence, these states are numberedas STATE-M,N through STATE-M+4,N+4. It will be understood that multiplestates can extend in all directions and the set of states 300 may be asubset of additional states. In this example, the central set of ninestates shown inside the box 304 are the states tested. Each tested stateis shown in this visualization to also include a bar graph indicative ofthe performance obtained when the particular state is tested. Bar graph308 is intended to be longest indicative that STATE-M+3,N+1 produced thebest results when the nine states were tested in the current test. Sincethis state is at the upper right corner of the box 304, it can bereadily concluded based upon the prior discussion that the next set oftest states should migrate toward the upper right as depicted in FIG. 4b so as to centralize the best state from the last test within test box304. When the next set of tests is conducted, the tests are conductedusing the states shown in test box 312 of FIG. 4 b as shown. This set oftests results in selection of STATE-M+3,N by virtue of bar 316indicating best performance of this state. In each case, after testingthe statistics associated with performance of each tested state isupdated so as to create a statistically weighted set of state variablesthat can be used to aid in selection of the states that are most likelyto provide best performance of the radio most often.

FIG. 5 illustrates a three dimensional set of state variables todemonstrate how the present process can be extended in multipledimensions. In this example, three state variables are abstractlylabelled x, y and z which may be any set of three state variables thatare attributable to a functional aspect of the radio. One example mightbe a notch filter's Q, bandwidth and center frequency, by way of anillustrative non-limiting example. In this example, each state variableis shown to have five possible values for a total of 125 possible states(which may be a subset of a much larger set of state variables.Initially, if it is assumed that the center-most state 350 is theactively used state, the process could, for example, carry out initialtests of surrounding states in all three dimensions as illustrated byboxes 354, 358 and 362. The test results are then stored in a manner soas to provide a statistical weighting of the performance of the variousstates and the best performing state variables are selected for use. Thetest set is then migrated in a manner so as to centralize the best stateto the extent possible for the next test set. So, if the best performingstate after testing is state 366, the tested states for the next set oftests will move a layer deeper and shift toward the upper left corner ofthe state variable space shown.

An example process 400 that when carried out performs the functionsdescribed above can be represented by the flow chart of FIG. 6 startingat 402. In this example, the initial value of a particular statevariable of set of state variables is set at an initial value at 406.This initial value may be selected by any number of techniquesincluding, but not limited to: a factory setting, an initializationprocess involving testing of all of the possible state variables andselecting a state variable or set of state variables which produces abest result, a most recently used state variable or set of statevariables, or a state variable or set of state variables established bythe present or other process that is pushed from a central site based onexperiences of other radios in the geographic area or under similarenvironmental conditions, or a state variable or set of state variablesdetermined by the present process (or other process) to provide astatistically good chance of performing well. In any case, an initialstate variable or set of state variables is selected at 406.

Once the state variable or set of state variables is established andinstalled for operation of the radio at 406, the process sets a timer at410 in this example process 400. The present example depends upon aperiodic timer to establish a pattern of testing, but in otherembodiments, the timer could be a random timer or could be replaced oraugmented with other events that trigger a testing (e.g., detection thatthe radio has entered a location where it has never been), poorperformance, etc. Once set, the timer begins counting time until thenext set of tests as described below will be carried out.

In these tests, the tests are carried out on real time communicationssignals under normal operating conditions which are received at 414.This is in contrast to factory adjustment processes in which idealsignals are injected while the circuits are fitted in test jigs that maynot recreate a realistic field operating environment. Once thecommunication signals are received, at 414, a measurement of one or moreperformance parameters is made at 418 to determine how well thecurrently selected state variable or set of state variables isperforming. This test could involve a measurement of power, SNR, secondorder distortion, other distortion, current drain, sensitivity, etc.Each such type of measurement generally has a known desirable range ordirection in which better performance can be judged. For example, highSNR is considered better than low SNR, low distortion is generallyconsidered better than higher distortion and lower current drain isusually better in a receiver since it translates to better batterylife—all other conditions being equal.

So, at 418, some operational parameter or parameters are measured todetermine how the presently selected state variable or set of statevariables is performing. Then at 422, a new state variable or set ofstate variables is retrieved from memory for testing. This retrievalinvolves selecting values that are close to (adjacent) the initialvalues selected at 406 so that the state variables can be considered tobe incremented up or down (eventually in all applicable dimensions for aset of state variables). The performance for the incremented statevariable or set of state variables is then measured at 426. The processrepeats through 422 and 426 with iteration of the state variables andsubsequent testing for each of several nearby state variables (oralternatively for all state variables) until the iteration is deemedcompleted at 430.

Once the iteration through the state variables and testing and measuringperformance is completed, the process examines the results andidentifies a state variable or set of state variables at 434 whichproduce the best performance, or a performance with the best compromisein performance when examining multiple performance parameters, or aperformance that is otherwise deemed adequate, is selected for use bythe radio. In the case where multiple performance parameters aremeasured, it is possible that one parameter may improve while anotherdegrades. For example, SNR may improve by increasing current drive to anRF preamplifier, but increased current compromises battery life. So, inthis case, if SNR is adequate, the performance may be deemed good enoughand good performance means simultaneously minimizing current drain topreserve battery life while having adequate SNR. Conversely, if SNR ismarginal, it may be worth compromising some battery life to improve SNRand thereby render communication faster or possible. Those skilled inthe art will appreciate that many such compromises may have to beweighed in implementation a determination of what defines bestperformance for a particular collection of performance parameters.

Once the best performance is selected and loaded into the radio for use,a statistical weighting of the states is logged to memory for thecurrent iteration of the state variables at 438. Any suitable weightingof the states can be utilized including everything from systems in whicha single simple counter is incremented for the most desirable state orset of states to systems where a relative performance is more exactlystatistically tracked with qualitative measurement of the parametersbeing tested. Based on the results of the iteration (and possibly uponthe overall statistics) a suitable subset of state variables can beselected at 442 for use in the next iteration of the performancemeasurements as is carried out in 422 and 426. The process then proceedsto 446 at which point the timer is monitored until it expires at whichtime control passes to 410 where the overall process is repeated tocontinually update the selection of state variables.

It will be noted that certain state variables may be quite static whileothers may be quite dynamic. Hence, multiple processes such as 400 maybe carried out for differing performance parameters and state variablesthroughout the radio.

As noted earlier, in certain cases, it may be possible for other radiosto utilize the measurements and state variable optimization processdiscussed above. FIG. 7 depicts one example method for implementing thisprocess 500 starting at 504. When a radio carries out a state variableoptimization process for certain state variables, such variables may beselected to minimize a type of environmental interference, for example.In such case, the state variables ascertained in the optimizationprocess may be useful to other radios about to enter the environment.So, when the process such as 400 is carried out, the optimized variablesfor a particular environment along with location coordinates for theradio may be sent to the closest base station at 508 as shown andpreviously discussed in connection with FIG. 1. The base station thencan store the state variables and location information at 512.Additionally and optionally, the base station can collect such data andcarry out statistical analysis of the data to determine what geographicarea the state variables are applicable to and to further optimize thevariables for best performance of multiple radios (with their individualvariables factored in) at 516. The base station then awaits entry ofanother radio into the general geographic region at 520 and when one isdiscovered, the base station pushes the state variables as data usingany suitable data pushing technique (e.g., using BlackBerry® pushtechnology) to the radio that has just entered to geographic region. Theradio, upon receipt of the state variables, installs and uses the pushedstate variables, but may do its own optimization (e.g., such as 400) tofurther optimize the state variables.

The process thus described between 400 and 516 can be carried out anytime a radio optimizes its state variables within a given geographicregion. Similarly, the process between 520 and 528 can be repeated foreach radio entering the geographic region of interest. Such region canbe manually predefined, can be associated with a cell, determined byidentification of locations using similar sets of state variables orusing any other technique without limitation.

By way of example, and not limitation, the present teachings can beapplied to a radio system in order to correct for asymmetry in the I andQ signals. In such a system, state variables (gain and phase shift) arethose used to correct for the I-Q asymmetry and the above techniques canbe applied to these state variables in the manner discussed inco-pending application Ser. No. 13/832,432, filed Mar. 15, 2013, whichis hereby incorporated by reference.

In this co-pending application, there is provided a method in which aradio receiver having first and second mixers that mix a receivedcommunication signal to produce quadrature I and Q signals, measuring anoutput value of the I and Q signals, a programmed processor isconfigured to carry out: evaluating symmetry in the I and Q signals bycalculating a symmetry test value; iteratively testing gain and phaseshift correction values by applying the gain and phase shift values tothe I and Q signals to identify a gain and phase shift value thatproduces an improved symmetry test value; selecting a gain and phaseshift value for reduced amplitude and phase error in the output I and Qsignals; and applying the gain and phase shift correction to the I and Qsignals from the first and second mixers.

Several symmetry tests can be used. In certain implementations, thesymmetry test value is equal to or proportional to:

${{{Symmetry\_ test}{\_ value}} = \frac{{{abs}\left( {\left\langle {II} \right\rangle - \left\langle {QQ} \right\rangle} \right)} + {{abs}\left( \left\langle {IQ} \right\rangle \right)}}{\left( {\left\langle {II} \right\rangle + \left\langle {QQ} \right\rangle} \right)}},$where < > means average values. In certain implementations, the symmetrytest value is equal to or proportional to:Symmetry_test_value=<I>²-<Q>², where < > means average values. Incertain implementations, the symmetry test value is equal to orproportional to: Symmetry_phase=<I*Q> where < > means average values. Incertain implementations, the gain and phase shift values are storedstate variables that are tested to identify selected gain and phaseshift values. In certain implementations, the gain and phase shiftvalues are applied to signals from the first and second mixers byprocessing with a matrix multiplication with the gain and phase shifterrors.

By way of another non-limiting example, second order distortion can beaddressed using the present techniques in the manner detailed in U.S.patent application Ser. No. 13/832,253, filed Mar. 15, 2013 which ishereby incorporated by reference. Since second order distortion isclosely associated with energy present in a frequency band just outsidethe receive bandwidth B (e.g., between B and 2B), a measure of theenergy in this band can be correlated with the IIP2 distortion. Thestate variables involved are those associated with the IIP2 distortionsuch as mixer bias or filter parameters. In such an example, a radioreceiver uses a method of reducing second order distortion components,involving at a first mixer, mixing an input signal with an oscillatorsignal to generate an I component of a received radio signal; at asecond mixer, mixing the input signal with a phase shifted oscillatorsignal to generate a Q component of the received radio signal; where theI and Q components of the received signal have a receive bandwidth;computing an estimate of second order distortion as a power output ofthe I and Q components between the receive bandwidth and twice thereceive bandwidth of the received radio signals; and adjusting anoperational parameter of the radio receiver to reduce the estimatedvalue of second order distortion components.

In certain implementations, the operational parameter of the radioreceiver comprises an operational parameter of one or both of the firstand second mixers. In certain implementations, the operational parameterof the radio receiver comprises bias levels of one or both of the firstand second mixers. In certain implementations, the bias level comprisesa gate bias voltage of one or both of the first and second mixers. Incertain implementations, the bias level comprises a bulk bias voltage ofone or both of the first and second mixers. In certain implementations,the operational parameter of the radio receiver is an operationalparameter of a filter. In certain implementations, the operationalparameter of the filter is a filter Q or bandwidth. In certainimplementations, the operational parameter of the filter is a notchfrequency.

In a final illustrative example, IIP2 distortion can also be estimateddirectly from the I and Q signals in a manner such as is disclosed inU.S. patent application Ser. No. 13/832,313, filed Mar. 15, 2013 whichis hereby incorporated by reference. In such a radio receiver, a methodof reducing second order distortion components involves at a firstmixer, mixing an input signal with an oscillator signal to generate an Icomponent of a received radio signal; at a second mixer, mixing theinput signal with a phase shifted oscillator signal to generate a Qcomponent of the received radio signal; computing an estimate of secondorder distortion as a function of the I and Q components of the receivedaudio signals; and adjusting an operational parameter of the radioreceiver to reduce the estimated value of second order distortioncomponents.

In certain implementations, the estimate of second order distortion iscomputed as <I²>−<Q²>. In certain implementations, the estimate ofsecond order distortion is computed as <IQ>. In certain implementations,the operational parameter of the radio receiver comprises an operationalparameter of one or both of the first and second mixers. In certainimplementations, the operational parameter of the radio receivercomprises bias levels of one or both of the first and second mixers. Incertain implementations, the bias level comprises a gate bias voltage ofone or both of the first and second mixers. In certain implementations,the operational parameter of the radio receiver comprises an operationalparameter of a filter. In certain implementations, the operationalparameter of the filter comprises a filter Q or bandwidth.

The order in which the optional operations represented in process 400may occur may vary in any operational manner without deviating from thepresent teachings.

The implementations of the present disclosure described above areintended to be examples only. Those of skill in the art can effectalterations, modifications and variations to the particular exampleembodiments herein without departing from the intended scope of thepresent disclosure. Moreover, selected features from one or more of theabove-described example embodiments can be combined to createalternative example embodiments not explicitly described herein.

It will be appreciated that any module or component disclosed hereinthat executes instructions may include or otherwise have access tonon-transitory and tangible computer readable media such as storagemedia, computer storage media, or data storage devices (removable ornon-removable) such as, for example, magnetic disks, optical disks, ortape data storage, where the term “non-transitory” is intended only toexclude propagating waves and signals and does not exclude volatilememory or memory that can be rewritten. Computer storage media mayinclude volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage of information, suchas computer readable instructions, data structures, program modules, orother data. Examples of computer storage media include RAM, ROM, EEPROM,flash memory or other memory technology, CD-ROM, digital versatile disks(DVD) or other optical storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canbe accessed by an application, module, or both. Any such computerstorage media may be part of the server, any component of or related tothe network, backend, etc., or accessible or connectable thereto. Anyapplication or module herein described may be implemented using computerreadable/executable instructions that may be stored or otherwise held bysuch computer readable media.

The present disclosure may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the disclosure is, therefore,indicated by the appended claims rather than by the foregoingdescription. All changes that come within the meaning and range ofequivalency of the claims are to be embraced within their scope.

What is claimed is:
 1. A method, comprising: receiving a real timecommunication signal at a radio receiver; measuring at least oneperformance value associated with the radio receiver with an installedset of state variables; at a processor forming a part of the radioreceiver: iteratively changing at least one of the state variableswithin a prescribed range in order to identify an improved value of theat least one state variable that provides an improvement to the at leastone performance value; storing the improved value of the at least onestate variable; applying a statistical weighting to the improved valueand storing the statistical weighting; and adjusting the prescribedrange of the at least one state variable based upon the statisticalweighting to provide a revised prescribed range that is statisticallylikely to contain at least one state variable that provides improvementin the at least one performance value.
 2. The method according to claim1, further comprising sending the improved value to a base station. 3.The method according to claim 2, further comprising at the base stationpushing the improved value of the at least one state variable to adifferent radio receiver.
 4. The method according to claim 1, furthercomprising: storing environment data that characterizes the radioenvironment along with the improved value of the at least one statevariable; sending the improved value and the environment data thatcharacterizes the environment of the radio to a base station; and at thebase station pushing the improved value of the at least one statevariable to a different radio receiver that is within the environment ofthe radio.
 5. The method according to claim 4, where the environmentdata comprises location data and the environment comprises a geographicarea.
 6. The method according to claim 1, where applying the statisticalweighting comprises incrementing a value associated with the improvedvalue of the at least one state variable.
 7. The method according toclaim 1, further comprising: prior to the receiving, powering up theradio; and on powering up the radio, the processor initially installingthe installed set of state variables having the highest statisticalprobability of providing the best performance according to the storedstatistical weighting.
 8. A radio apparatus, comprising: a radioreceiver configured to receive a real time communication signal; aprocessor forming a part of the radio receiver, the processor beingprogrammed to: measure at least one performance value associated withthe radio receiver with an installed set of state variables; iterativelychange at least one of the state variables within a prescribed range inorder to identify an improved value of the at least one state variablethat provides an improvement to the at least one performance value;store the improved value of the at least one state variable; apply astatistical weighting to the improved value; store the statisticalweighting; and adjust the prescribed range of the at least one statevariable based upon the statistical weighting to provide a revisedprescribed range that is statistically likely to contain at least onestate variable that provides improvement in the at least one performancevalue.
 9. The radio apparatus according to claim 8, where the processoris further programmed to send the improved value to a base station. 10.The radio apparatus according to claim 9, where the processor is furtherprogrammed to receive state variables pushed from the base station. 11.The radio apparatus according to claim 9, further comprising a basestation configured to push the improved value of the at least one statevariable to a different radio receiver.
 12. The radio apparatusaccording to claim 8, where the processor is further programmed to:store environment data that characterizes the radio environment alongwith the improved value of the at least one state variable; send theimproved value and the environment data that characterizes theenvironment of the radio to a base station; and so that the base stationcan push the improved value of the at least one state variable to adifferent radio receiver that is within the environment of the radio.13. The radio apparatus according to claim 9, further comprising thebase station and where the base station is configured to push a value ofthe at least one state variable to a different radio receiver and wherethe base station is configured to determine that the value of the atleast one state variable is statistically likely to provide improvedperformance in at least one performance value within the environment.14. The radio apparatus according to claim 13, where the environmentdata comprises location data and the environment comprises a geographicarea.
 15. The radio apparatus according to claim 8, where in beingprogrammed to apply the statistical weighting the processor isprogrammed to increment a value associated with the improved value ofthe at least one state variable.
 16. The radio apparatus according toclaim 8, where the processor is further programmed to initially installa set of state variables having highest statistical probability ofproviding the best performance according to the stored statisticalweighting upon powering up of the radio receiver.